package Vistas.Componentes;

import java.awt.BorderLayout;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;

import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

import Clases.Orden;
import Clases.Usuario;
import Controladores.ListarOrdenes;

public class MainVistaOrdenes extends JPanel {
	private static final long serialVersionUID = 1L;
	public JTable jtOrdenes;
	private ListarOrdenes lo;
	
	public MainVistaOrdenes(Usuario u) {
		this.lo = new ListarOrdenes(u);
		
		this.jtOrdenes = new JTable();
				
		this.RefrescaTabla();
		
		this.add(add(new JScrollPane(this.jtOrdenes)), BorderLayout.CENTER);
		this.setVisible(true);
		
	}
	
	public void RefrescaTabla() {
	
		DefaultTableModel dtm = new DefaultTableModel();
		
		Vector<String> colNames = new Vector<String>();
		colNames.addElement("ID");
		colNames.addElement("Fecha Alta");		
		colNames.addElement("Producto");
		colNames.addElement("Cantidad");
		colNames.addElement("Estado");
		colNames.addElement("Fecha Estimada");
		colNames.addElement("Descripcion");		
		
		dtm.setColumnIdentifiers(colNames);

		List<Orden> list = this.lo.getOrdenes();
		
		for (int i = 0; i < list.size(); i++) {
			String columna[] = new String[7];

			columna[0]=list.get(i).getID();
			columna[1]=list.get(i).getFechaAlta().toString();
			columna[2]=list.get(i).getProducto().getDescripcion();
			columna[3]=list.get(i).getCantidad().toString();
			columna[4]=list.get(i).getEstado();
			columna[5]=list.get(i).getFechaEstimada().toString();
			columna[6]=list.get(i).getDescripcion();
			
			dtm.addRow(columna);
		}
		
		this.jtOrdenes.setModel(dtm);
	}

	public List<String> getOrdenes() {
		int rows = this.jtOrdenes.getRowCount();
		
		List<String> ordenes = new ArrayList<String>();
		
		for (int i = 0; i < rows; i++) {
			ordenes.add((String) this.jtOrdenes.getValueAt(i, 0));
		}
		
		return ordenes;
	}
}
